package com.hxx.day6;

import org.junit.Test;

/**
 * StringBuilder 线程不安全
 * StringBuffer 线程安全
 */
public class TestDemo1 {

    /**
     * 测试StringBuilder,证明对象是可变的
     */
    @Test
    public void test1() {
        // 创建对象
        StringBuilder sb1 = null;
        // 创建对象
        StringBuilder sb = new StringBuilder();
        sb.append("a");
        sb1 = sb;

        sb1.append("b").append("c").append("d");
        // 判断对象是否相等
        System.out.println(sb==sb1);
    }
    /**
     * 笔试题
     */
    @Test
    public void test2() {
        String str = "abc";
        //颠倒字符串
        StringBuilder sb = new StringBuilder(str);
        System.out.println(sb.reverse());
    }

    /**
     * 扩容多少次
     */
    @Test
    public void test3() {
        //扩容0次
        StringBuilder sb = new StringBuilder(20);
    }

    /**
     * 常用的方法
     */
    @Test
    public void test4() {
        StringBuilder sb = new StringBuilder();
        for (int index = 0; index < 5; index++) {
            //拼接字符串
            sb.append("java"+index).append(",");
        }
        //去掉最后一个逗号（java0,java1,java2,java3,java4,）
        System.out.println(sb);
        //使用截取
        String substring = sb.toString().substring(0, sb.length() - 1);
        System.out.println(substring);
        //使用自带的方法
        //sb.deleteCharAt(sb.length()-1);
        sb.deleteCharAt(sb.toString().lastIndexOf(","));
        System.out.println(sb);
    }

    /**
     * 转换字符串为数字
     */
    @Test
    public void test5() {
        //转换字符串为基本类型的数字
       Integer.parseInt("123");
       //转换字符串为引用 类型的数字
        Integer.valueOf("123");
    }
    /**
     * 包装类
     */
    @Test
    public void test6() {
        Integer i = 127 ;
        Integer n = 127 ;
        System.out.println(i==n);

        Integer i1 = 128 ;
        Integer n1 = 128 ;
        System.out.println(i1==n1);
    }
    /**
     * 精度的创建都在堆中
     */
    @Test
    public void test7() {
        Double d1 = 1.0;
        Double d2 = 1.0;
        System.out.println(d1==d2);
    }
}






















